Information input/output method using dot pattern

ABSTRACT

A dot pattern including a block defined as a rectangular area of a square or a rectangle of a medium face, such as printed matter. A straight line in a vertical direction and a horizontal direction configuring a frame of the block each are defined as a standard grid line. Virtual reference grid points are provided at predetermined intervals on the reference grid line. Reference grid point dots are placed on respective virtual reference grid points. Straight lines that connect the virtual reference grid points to each other and are parallel to the reference grid lines are defined as grid lines. A point of intersection of grid lines is defined as a virtual grid point. A dot pattern is generated by arranging one or a plurality of information dots, each of which has a distance and a direction around the virtual grid point.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application claiming the benefitunder 35 U.S.C. §120 of U.S. Pat. No. 8,553,284, to be issued on Oct. 8,2013 (U.S. patent application Ser. No. 13/589,767, filed Aug. 20, 2012)which is a divisional application claiming benefit under 35 U.S.C. §120of U.S. Pat. No. 8,253,982, issued on Aug. 28, 2012, (U.S. applicationSer. No. 13/251,903, filed on Oct. 3, 2011), which is a divisionalapplication claiming benefit under 35 U.S.C. §120 of U.S. Pat. No.8,031,375, issued on Oct. 4, 2011 (U.S. application Ser. No. 11/912,597,filed on Oct. 25, 2007), which is a §371 of PCT/JP2005/008210, theentire contents of which are incorporated herein by reference.

Technical Field

The present invention relates to an information input/output methodusing dot patterns for inputting/outputting a variety of information orprograms by optically reading dot pattern information that is formed ona printed matter or the like.

BACKGROUND ART

Conventionally, there has been an information output method for readinga barcode printed on a printed matter or the like, and then, outputtinginformation such as a voice. For example, there has been a method forstoring in advance information that is coincident with key informationimparted to storage means, retrieving the information from a key read bymeans of a barcode reader, and then, outputting information or the like.In addition, there has also been proposed a technique of generating adot pattern obtained by arranging fine dots under a predetermined ruleso as to output a plenty of information or programs, picking up anddigitizing the dot pattern printed on picking up the dot pattern printedonto a printed matter or the like as image data by means of a camera,digitizing, and then, outputting voice information.

However, the conventional method for outputting a voice or the like bymean of a barcode has entailed a problem that the barcode printed on aprinted matter or the like is an eyesore. In addition, the aboveconventional method has entailed a problem that a barcode is large insize and occupies part of paper, and thus, if the barcode is thus largein size, it is impossible, on the aspect of layout, to clearly lay out anumber of barcodes by partial paragraph or sentence or by character orobject which has the significance appearing in images of photographs,pictures or graphics.

A dot pattern is picked up as image data by means of a camera, and then,the image data is digitized in no-color 256 gradations. In order toeasily recognize dots, the variation of the gradation is differentiated,and then, a dot edge is sharpened. Next, the data on the 256 gradationsis binarized to white or black. By means of this binarization, when adot is printed on paper, a dot print error occurs, the error beingcaused by a print shift or blurring and a shift when a pixel has beenprovided. Conventionally, such a print error has been error-checked bymeans of a parity check. However, these error checks have had: a problemthat an error check is made relative to a block of data obtained from aplurality of dots instead of a print error check by dot, making itimpossible to determined with which of the dot such a print error hasoccurred; and a problem that a camera image picking up range must bewidely determined

Further, the above error checks have entailed a problem that adistortion occurs with the dot pattern picked up as an image exerted bya lens distortion or a distortion exerted at the time of oblique imagepickup, paper expansion or contraction, medium surface curling, orprinting, and then, sophisticated technique is required to correct thisdistortion.

The present invention has been achieved in order to solve such problems.In other words, it is an object of the present invention to provide aninformation input/output method using dot patterns, which is capable ofimparting information or functions different depending on dots of a dotpattern displayed on a printed matter or the like, thereby defining alarge amount of data by means of a dot pattern and, at the time ofdefining information from that dot pattern, recognizing directivity andspeedily defining information; which is capable of checking an error ondot layout state; and further, which is capable of enhancing security.

DISCLOSURE OF THE INVENTION

Claim 1 of the present invention is directed to an informationinput/output method using dot patterns, the method comprising: definingas a block a rectangular area of a square or a rectangle, of a mediumface such as a printed matter; while a straight line in a verticaldirection and a horizontal direction configuring a frame of the block isdefined as a standard grid line, providing a virtual reference gridpoint by predetermined interval on the reference grid line; laying out areference grid point dot on a virtual reference grid point; connectingthe virtual reference grid points to each other and defining a straightline parallel to the reference grid line as a grid line; defining across point between the grid lines as a virtual grid point; generating adot pattern obtained by laying out one or a plurality of informationdotes, respectively, having a distance and a direction around thevirtual grid point; reading such dot pattern as image information byoptical reader means; numerically valuing the dot pattern; and readingand outputting information that corresponds to the numerically definedinformation from storage means.

According to claim 1, information dots can be laid out by grid (firstvirtual grid point) formed in large amount in blocks, so that moreinformation can be stored in blocks.

In addition, the virtual reference grid point by predetermined directionused herein denotes a predetermined interval in a vertical or horizontaldirection; however, this interval may be made different depending on thevertical direction and the horizontal direction.

Claim 2 of the present invention is directed to the informationinput/output method using dot patterns, as set forth in claim 1,wherein, in the block, assuming an oblique grid line connecting virtualreference grid points in a further oblique direction, a cross pointbetween the oblique grid lines is also defined as a virtual grid point(second virtual grid point); and one or a plurality of dots, each ofwhich has a distance and a direction, are laid out around this virtualgrid point.

According to claim 2, information dots can be laid out by virtual gridpoint that is a cross point between the grid lines in an obliquedirection, so that further more information can be stored in blocks.

Claim 3 of the present invention is directed to the informationinput/output method using dot patterns, as set forth in claim 1 or 2,wherein the dot pattern provides significance of information inaccordance with whether or not dots are laid out around the virtual gridpoint.

According to claim 3, by intentionally generating and laying out adot-free area, the outer frame of a mask defining an area on a printingface can be expressed. In addition, by laying out dots on all thevirtual grid points in a predetermined area, the laid out dots can alsobe recognized as ordinary background information.

A first algorithm for defining information in accordance with whether ornot a dot exists on a virtual grid point and a second algorithmassociated with an information dot that exists at a position shiftedfrom a virtual grid point can be mixed with each other, and moreinformation can be laid out.

Claim 4 of the present invention is directed to the informationinput/output method using dot patterns, as set forth in any one ofclaims 1 to 3, wherein a key dot defining orientation of the block islaid out at a position shifted from at least one virtual reference gridpoint on the reference grid line configuring the block.

In this way, the orientation of the block can be defined by laying outthe key dot. Utilizing the key dot, the tilting in a predetermineddirection can be detected relative to a read axis of optical readermeans, so that the read dot pattern can be corrected or the significancedifferent depending on a tilt angle can be provided.

In addition, in the case where such a key dot has been laid out, thatportion (reference grid point dot on virtual reference grid line) doesnot exist because it is substituted for a key dot.

Claim 5 of the present invention is directed to the informationinput/output method using dot patterns, as set forth in any one ofclaims 1 to 3, wherein, with respect to an information dot of apredetermined position that is defined as a key dot in the block, theinformation dot being laid out in a respective one of rectangular areasthat exists at a position at which the rectangular area to which the keydot belongs is turned by 90 degrees around the block center, informationis defined by a direction or a distance that excludes a directionrequired to define the key dot.

In the case where an information dot other than a block center isdefined as a key dot, there is a possibility that an information dotthat exists at a corresponding position when the block center is turnedas a rotational axis by 90 degrees cannot be discriminated from a keydot if the information dot is read by optical reader means. According toclaim 5, however, in the corresponding rectangular area other than thekey dot, the manner of imparting an information dot is made differentfrom usual, thereby making it possible to discriminate the key dot andthe information dot from each other.

For example, it is sufficient if a key dot is laid out as a vector inonly the vertical and horizontal directions from a virtual grid pointand if information is defined in an oblique direction in anotherrectangular area that exists at a position turned by 90 degrees.

In addition, with respect to a key dot, while a length of a vector isdefined as a predetermined length, information may be defined by meansof a vector of a different length in another rectangular area that isexists at a position turned by 90 degrees.

In this way, the manner of defining an information dot is determined inadvance so as to be different from the manner of defining a key dot withrespect to an area in which the key dot can be laid out, whereby aninformation dot can be laid out with respect to the corresponding areaother than the key dot and a dot pattern without wastefulness can beachieved.

In the case where a key dot has been laid out at a block center, withrespect to another information dot in a block may, of course,information may be defined depending on which of the vertical,horizontal, and oblique directions is to be determined

Claim 6 of the present invention is directed to the informationinput/output method using dot patterns, as set forth in any one ofclaims 1 to 5, wherein, in an information dot of the block, depending ona position in a block of the information dot, a distance and a directionfrom the virtual grid point are arbitrarily limited by information dot,and information is defined.

According to claim 6, information can be defined while the distance anddirection from the virtual grid point are arbitrarily limited.Therefore, for example, the manner of defining information, byinformation dot, can be varied by type of industrial field using the dotpattern (by manufacture, by service industrial field or by company usingthis dot pattern).

In this way, the dot patterns of the present can be utilizeddiscriminatively by limited usage, so that mutual securities can be laidout. In other words, the limited defined information can be provided soas to be readable by optical reader means corresponding thereto.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustrative view depicting one example of a dot pattern.

FIG. 2 is an enlarged view showing an example of information dots in adot pattern.

FIG. 3 (a), FIG. 3 (b), and FIG. 3 (c) are illustrative views depictinghow key dots and information dots are laid out.

FIG. 4 shows an example of information dots and bit representation ofdata defined therein.

FIGS. 5 (a) to (f) each show an example of information dots and bitrepresentations defined therein, wherein FIG. 5 (a) shows a case inwhich two dots are laid out; FIG. 5 (b) shows a case in which four dotsare laid out; FIG. 5 (c) to (e) each show an case in which five dots arelaid out; and FIG. 5 (f) shows a case in which seven information dotsare laid out.

FIGS. 6 (a) to (d) are views each showing an exemplary configuration ofa block, wherein FIG. 6 (a) shows an exemplary configuration of 2×3=6rectangular areas; FIG. 6 (b) shows an exemplary configuration of 3×3=9rectangular areas; FIG. 6 (c) shows an exemplary configuration of 4×3=12rectangular areas; and FIG. 6 (d) shows an exemplary configuration of5×5=25 rectangular areas, respectively.

FIG. 7 is an illustrative view of a method for assigning “0” and “1” toleast significant bits and checking an error of an information dot.

FIG. 8 is an illustrative view depicting a relationship among a truevalue K, a security table R, and an information dot I for the purpose ofillustration of the security of the information dot.

FIGS. 9 (a) to (d) shows dummy dots and null dots, wherein Fig. FIG. 9(a)-1 is an illustrative view of dummy dots; FIG. 9 (a)-2 is anillustrative view of null dots; FIG. 9 (b) and FIG. 9 (c) each are oneexample of a printed matter; FIG. 9 (d)-1 is an exemplary layout of dotpatterns restricting the boundary between two masks by means of nulldots; and FIG. 9 (d)-2 is an illustrative view depicting an exemplarylayout of dot patterns restricting the boundary between a null dot and abackground by means of null dots.

FIG. 10 (a) is an illustrative view depicting a sequential order ofinputting information dots and FIG. 10 (b) is an illustrative viewdepicting a method for reading dot patterns and calculating X and Ycoordinate values.

FIG. 11 is a view showing a relationship in layout between a referencegrid line configuring an outer frame of a block and a reference gridpoint dot.

FIG. 12 is a view showing a relationship in layout between a grid line,an oblique grid line, and a virtual grid point and an information dot.

FIG. 13 is a view for explaining a method for retrieving an informationdot 3 around a virtual grid point.

FIG. 14 is a view for explaining a relationship in layout between ablock orientation and a key dot.

BEST MODE FOR CARRYING OUT THE INVENTION

Hereinafter, preferred embodiments of the present invention will bedescribed with reference to the accompanying drawings.

FIG. 1 is an illustrative view depicting one example of a dot pattern ofthe present invention; FIG. 2 is an enlarged view showing one example ofinformation dots of a dot pattern and bit representation of data definedtherein; and FIG. 3 (a), FIG. 3 (b), and FIG. 3 (c) are illustrativeviews each depicting how key dots and information dots are laid out.

The information input/output method using dot patterns, according to thepresent invention, is comprised of: recognition of a dot pattern 1; andmeans for outputting information and programs from this dot pattern 1.

In other words, the dot pattern 1 is picked up as image data by means ofa camera; a reference grid point dot 4 is first extracted, and then, thethus extracted dot is determined to be at a position of a virtualreference grid point 6; and a straight line connecting these virtualreference grid points 6 is defined as a reference grid line 7. In thecase where the reference grid point dots 4 are not laid out at positionof the virtual grid points 6 at which the dots should be, dots at theperiphery of this virtual reference grid points 6 are extracted, and theextracted dots each are defined as a key dot 2 (rectangular parts atfour corners of a block). Next, vertical and horizontal grid lines 8 a,8 b connecting the virtual reference grid points 6 are set, and then, across points between the grid lines 8 a and 8 b is defined as a virtualgrid point 11 (first virtual grid point). Then, the dots at theperiphery of this virtual grid point 11 are retrieved, and then, aninformation dot 3 defined depending on the distance and direction fromthe virtual grid point is extracted.

In addition, assuming an oblique grid line 8 c connecting the virtualreference grid points 6 to each other in an oblique direction, a crosspoint of these oblique grid lines 8 c is also defined as a virtual gridpoint 12 (second virtual grid point). Then, the dots at the periphery ofthis virtual grid point 12 are also retrieved, and then, the informationdot 3 defined depending on the distance and direction from the virtualgrid point 12 is extracted.

Next, the orientation of the block is determined depending on thedirection from the virtual reference grid point 6 or virtual grid point11 of a key dot 2. For example, in thee case where the key dot 2 hasbeen shifted in the +y direction from a virtual grid point, theinformation dot 3 in a block may be recognized while a verticaldirection is defined as a forward direction.

Further, if the key dot 2 is shifted in the −y direction from thevirtual reference grid point 6 or virtual grid point 11, the informationdot 3 in a block may be recognized while the direction in which theblock has been rotated at 180 degrees around a block center is definedas a forward direction.

Furthermore, if the key dot 2 is shifted in the −x direction from thevirtual reference grid point 6 or virtual grid point 11, the informationdot in a block may be recognized while the direction in which the blockhas been rotated clockwise at an angle of 90 degrees around a blockcenter is defined as a forward direction.

Moreover, if the key dot 2 is shifted in the +x direction from thevirtual reference grid point 6 or virtual grid point 11, the informationdot 3 in a block may be recognized while the direction in which theblock has been rotated counterclockwise at an angle of 90 degrees arounda block center is defined as a forward direction.

If images of dot patterns read by optical reader means are accumulatedin a frame buffer, a central processing unit (CPU) of the optical readermeans analyzes dots in the frame buffer, and then, decodes the numericvalues defined by information dot 3 depending on the distance anddirection from virtual grid points 11, 12 of information dots 3. As thexy coordinate or codes, these numeric values are crosschecked withinformation stored in the optical reader means or memory of a personalcomputer; and the voice, images, mobile images, and programs or the likecorresponding to the xy coordinate or codes are read out, and then, areoutputted from a voice/image output means or the like.

In generation of the dot pattern 1 of the present invention, inaccordance with an algorithm for generating a dot code, in order torecognize information such as a voice, fine dots, i.e., the key dot 2,the information dot 3, and reference grid point dot 4 are arranged undera predetermined rule.

As shown in FIG. 1, a rectangular area such as a square or a rectangle,of a medium face such as a printed matter, is defined as a block 1. Inaddition, while straight lines in the vertical and horizontal directionsconfiguring a frame of the block 1 each are defined as a reference gridline 7 (lines indicated by thick lines in FIG. 1), virtual referencegrid points 6 are provided at predetermined intervals on the referencegrid line 7, and then, reference grid point dots 4 are laid out on thevirtual reference grid points 6. Next, straight lines connecting thevirtual reference grid points 6 to each other and parallel to thereference grid line 7 are defined as grid lines 8 a, 8 b and a crosspoint between the grid lines 8 a and 8 b is defined as a virtual gridpoint 11 (first virtual grid point).

Still furthermore, an oblique grid line 8 c connecting the virtualreference grid points 6 to each other in an oblique direction is set anda cross point between these oblique grid lines 8 c is defined as avirtual grid point 12 (second virtual grid point).

One or plurality of information dots 3 having a distance and a directionaround the thus set grid point are laid out, respectively, to generate adot pattern.

When this dot pattern 1 is picked up as image data by means of a camera,lens distortion of the camera or a distortion exerted at the time ofoblique image pickup, paper expansion and contraction, medium surfacecurling, or printing can be corrected by means of the reference gridpoint dots 4. Specifically, a correction function (X_(h) Y_(n))=f(X′_(n) Y′_(n)) is obtained for converting distorted four virtual gridpoints into an original square, information dots are corrected by thesame function, and the vector of correct information dot 3 is obtained.

If the reference grid point dots are laid out in the dot pattern 1, theimage data obtained by picking up this dot pattern 1 by means of acamera corrects the distortion caused by the camera, so that, when theimage data on the dot pattern 1 is picked up by means of a general typecamera having a lens with a high distortion rate mounted thereon aswell, the image data can be precisely recognized. In addition, even ifthe camera is tilted relative to a face of the dot pattern 1, the dotpattern 1 can be precisely recognized.

The key dot 2, as shown in FIG. 1, serves as a dot laid out depending ona distance and a direction around one virtual grid point 11 that existsat a substantially central position of virtual grid points laid out in arectangular shape. This key dot 2 serves as a representative point ofthe dot pattern 1 for one block representative of a group of informationdots. For example, these dots are laid out at the positions shifted by0.2 mm upwardly of a virtual grid point at the block center of the dotpattern 1. Therefore, in the case where the information dot 3 is definedby X, Y coordinate values from a virtual grid point, the positiondistant at a distance of 0.2 mm downwardly of the key dot 2 is definedas a virtual grid point (coordinate point). However, this numeric value80.2 mm) can vary according to whether the block of the dot patterns 1is large or small in size without being limitative thereto.

The information dot 3 serves as a dot for recognizing a variety ofinformation. In the case of FIG. 1, the information dots 3 are laid outat the periphery thereof while the key dot is defined as arepresentative point and are laid out at end points expressed by meansof a vector while the center surrounded by four virtual grid points 11(first virtual grid points) is defined as a virtual grid point (secondvirtual grid point), and then, the defined grid point is defined as astart point. For example, this information dot 3 is surrounded by meansof virtual grid points 11, 12. As shown in FIG. 2, the dots that aredistant by 0.2 mm from the virtual point are laid out in eightdirections while they are rotated clockwise by 45 degrees in order toprovide the direction and length that are expressed by the vector, andthen, three bits are expressed.

With reference to the figure, 3 bits×16=48 bits can be expressed in adot pattern 1 of one block.

While, in the illustrative embodiment, the dots layout is provided inthe eight directions to express three bits, the dot layout can beprovided in 16 directions to express four bits and, of course, the dotlayout can be variously changed.

It is desirable that the diameter of the key dot 2, information dot, orreference grid point dot 4 be on the order of 0.1 mm in consideration ofappearance, precision of printing relative to paper, camera resolutionand optimal digitization.

In addition, it is desirable that intervals of reference grid point dots4 be on the order of 1 mm vertically and horizontally in considerationof incorrect recognition of a variety of dots 2, 3, 4. It is desirablethat the distortion of the key dot 2 be on the order of 20% of the gridintervals.

It is desirable that a gap between this information dot 3 and a virtualgrid point 11, 12 be on the order of 15% to 30% of a distance betweenthe virtual grid points 11 and 12 adjacent thereto. The reason thereforis set forth as follows. If the distance between the information dot andthe virtual grid point 11, 12 is longer than this interval, dots areeasily visually recognized as a large block, and the dot pattern 1 iseyesore. On the other hand, if the distance between the information dot2 and the virtual grid point 11, 12 is shorter than the above interval,it becomes difficult to determine that the target dot is an informationdot 3 having vector directivity around either of the virtual grid points11, 12 adjacent thereto.

FIG. 3 shows a sequential order of reading information dots 3 in ablock, wherein the numbers circled in the figure denotes a layout areaof the information dots laid out by virtual grid points 11, 12,respectively.

For example, in the case of FIGS. 3 (a), (1) to (25) are laid outclockwise therefrom around (1) of as block center (this denotes number“1” circled in the figure). At this time, the grid interval is 1 mm, forexample, and 3 bits×16 =48 bits is expressed by 4 mm×4 mm.

In FIG. 3 (b), after from an information dot (1) in the rectangular areaat the left top of a block to an information dot (4) have been laid outsequentially in a vertical direction, information dots (5) to (7) arelaid out at cross points between the grid lines in the vertical andhorizontal direction.

In FIG. 3 (c), after an information dot (1) in the rectangular area atthe left top of a block to an information dot (16) have been laid outsequentially in a vertical direction, information dots (17) to (25) arelaid out alternately at a cross point between the vertical andhorizontal grid lines.

FIG. 4 shows an example of an information dot 3 and bit representationof data defined therein and shows another aspect of the invention.

In addition, if eight vector directions are defined with the use of twotypes of dot i.e., a long dot (upper stage of FIG. 4) and a short dot(lower stage of FIG. 4) from the virtual grid points 11, 12 surroundedby the reference grip point dot 4 relative to the information dot 3,four bits can be expressed. At this time, it is desirable that the longdot be on the order of 25% to 30% of a distance between the virtual gridpoints 11 and 12 adjacent thereto and that the short dot be on the orderof 15% to 20% thereof. However, it is desirable that a central intervalof the long and short be longer than the diameter of each of these dots.

It is desirable that the information dot 3 surrounded by four virtualgrid points 11, 12 be one dot in consideration of appearance. However,in the case where an attempt is made to increase the amount ofinformation while ignoring the appearance, a large amount of informationcan be provided by assigning one bit, and then, expressing informationdots 3 in plurality. For example, in concentric eight-directionalvectors, information for 2 can be expressed by means of a informationdot 3 and 2 ¹²⁸ is obtained by 16 information dots in one block.

FIGS. 5 (a) to (f) each show an example of an information dot 3 and bitrepresentation of data defined therein, wherein FIG. 5 (a) shows a casein which two dots are laid out; FIG. 5 (b) shows a case in which fourdots are laid out; and FIG. 5 (c) to FIG. 5 (e) each show a case inwhich five dots are laid out; and FIG. 5 (f) shows a case in which sevendots are laid out.

FIGS. 6 (a) to (d) each show modification of a dot pattern, wherein FIG.6 (a) shows a case in which eight information dots 3 are laid out in ablock; FIG. 6 (b) shows a case in which 18 information dots are laid outtherein; FIG. 6 (c) shows a case in which 13 information dots are laidout; and FIG. 6 (d) shows a case in which 41 information dots 3 are laidout.

Each of the dot patterns 1 shown in FIGS. 1 and 3 described previouslyalso shows an example in which 25 information dots 3 are laid out in oneblock. However, these information dots 3 can be variously changedwithout being limitative thereto. For example, according to a large orsmall amount of information required or camera resolution, eightinformation dots 3 may be laid out in one block (FIG. 6 8 a); 13information dots may be laid out in one block (FIG. 6 (b); 18information dots 3 are laid out in one block (FIG. 6 (c)); or 41information dots 3 are laid out in one block (FIG. 6 (d)).

FIG. 7 is an illustrative view of a method for assigning “0” and “1” tothe least significant bits and checking an information dot error.

Further, one information dot 3 is uniformly laid out and “0” and “1” arealternately assigned to the least significant bits so that they are usedfor checking an error, thereby making it possible to check an error ofthis information dot 3. In this error check system, information dots aregenerated alternately in the vertical, horizontal, and 45-degree tiltdirections, making it possible to eliminate the regularity of a dotpattern. In other words, the information dots obtained by alternatelyassigning “0” and “1” to the least significant bits are alwayspositioned in the vertical, horizontal, or 45-degree tilt directionaround the virtual grid points 11, 12. Therefore, when the informationdots 3 are positioned in a direction other than the horizontal or45-degree tilt direction, these dots are determined as those displayedat their appropriate positions. In this way, an error inputted when theinformation dots 3 are shifted in a rotational direction around thevirtual grid points 11, 12 can be reliably checked.

When the information dots 3 are determined as eight directions(45-degree intervals) and as long/short dots (refer to FIG. 4), if theleast significant one bit is “0” or “1”, among four bits, in the casewhere the above one bit is shifted to one of the positions of theadjacent three dots (concentric circle±two points at 45-degree rotationposition+either one of long and short dots), it can be handled as anerror and 100% error check can be made.

FIG. 8 is an illustrative view depicting how information dots I₁ to I₁₆are arranged in order to explain the security of information dots.

For example, in order to disable visually reading data on a dot pattern1, the computation expressed by a function f (K_(n)) is carried out withrespect to I_(h) of an information dot 3; I_(n)=K_(n)+R_(n) is expressedby means of the dot pattern 1; a dot pattern I ., is inputted; andthereafter, K_(n)=I_(n)−R_(n) is obtained.

Alternatively, in order to disable visually reading data on the dotpattern 1, a plurality of information dots are laid out in one columnwith a key dot 2 being a representative point and such one train is laidout in plurality of trains, and then, a difference in data between twotrains adjacent to each other is handled as data on the information dot3, whereby the information dots 3 each can be laid out so thatregularity of the information dots 3 is eliminated.

In this manner, the security can be enhanced in order to disablevisually reading the dot pattern 1 printed on a medium face. Inaddition, when the dot pattern 1 has been printed on the medium face,the information dots 3 are laid out in random, a pattern is eliminated,and the dot pattern can be made moderate.

FIGS. 9 (a) to (d) show dummy dots, wherein FIG. 9 (a) is anillustrative view of dummy dots; FIG. 9 (b) shows one example of aprinted matter; FIG. 9 (c) shows an area in a printed matter; and FIG. 9(d) is an illustrative view depicting an example of laying out dotpatterns that restrict the boundary of a mask by means of dummy dots.

A dot is laid out at a central position (second virtual grid point) offour virtual grid points 11 (first virtual lattice points), and this dotis defined as a dummy dot 5 to which no information is imparted (FIG. 9(a). This dummy dot 5 can be used for numeric data or areas in which X,Y coordinate values have been defined and the boundary between theareas, numeric data or an area in which the X, Y coordinate values arenot defined.

For example, as shown in FIG. 9 (a), three types of patterns such aslesser bear, hippopotamus, or sum are printed on a printed matter, andthen the areas corresponding to these three patterns are laid out asmask 1, mask 2, and mask 3, as shown in FIG. 9 (c). As shown in FIG. 9(d), the dummy dot 5 is laid out at the boundary of mask 1 and mask 2.

In the case where the dummy dot 5 is used for the boundary, there is noneed for defining all of the blocks of the corresponding positions asdummy dots 5, and it is sufficient if a minimum dot is defined as adummy dot in order to indicate the boundary.

In addition, a dummy dot is laid out in an area other than the masks,and an area in which no information is defined can be provided.

When the dot pattern 1 is picked up as image data by means of a camera,the X, Y coordinate values are calculated at the positions of the keydot 2 that is a representative point of information, and thereafter, thecoordinate values are compensated for by means of the increments of theX, Y coordinate values at the representative points adjacent to eachother and a distance from an image pickup center to the key dot 2 onwhich the X, Y coordinate values have been calculated.

Alternatively, when the block of dot patterns 1 is picked up as imagedata by means of a camera, information dots are sequentially read fromthe information dots that exist at the periphery of the image pickupcenter of the camera in an area in which identical data is defined inblocks or an area in which the X, Y coordinate values are defined, andthen, information dots 3 equivalent to one block are read, whereby thedot pattern 1 is read in a minimum area from the image pickup center ofthe camera, and then, data at the image pickup central position iscalculated.

FIG. 10 (a) shows sequential order of information dots equivalent to oneblock in a minimum area from the image pickup center of the camera. 4×4columns=16 information dots are inputted clockwise.

FIG. 10 (b) is an illustrative view depicting a method for reading a dotpattern and calculating X, Y coordinate values.

As illustrated, the X, Y coordinate values to be obtained are defined asX, Y coordinate values of a block having the camera image pickup center.With respect to the X, Y coordinate values, if the increment is definedas +1 in the X direction (right direction) and in the Y direction (upperdirection) by block, there is a need for compensating for theinformation dots inputted from another block. K₈ K₇ K₆ K₅ (i₁₆ i₁₅ i₁₄i₁₃ i₁₂ i₁₁ i₁₀ i₉) indicating the X-coordinate value and K₄ K₃ K₂ K₁(i₈ i₇ i₆ i₅ i₄ i₃ i₂ i₁) indicating the Y-coordinate value are targetedfor compensation. Other coordinate values K₁₆ to K₉ (i₃₂ to i₁₇) becomeidentical in any block, and there is no need for compensation.

These calculations are obtained by formula 1 below. Even if a digit isrisen by means of calculation in [ ], it is assumed that the columns ofbits preceding [ ] are not adversely affected. If an error check bit isexcluded from among an information dot I, the bit is defined as K.

{circle around (1)} In the case where ₁₁I₁₁ is a start point (cameraimage pickup center)

X coordinate=₁₁ K ₈·₁₁ K ₇·₁₁ K ₆·₂₁ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·₁₂ K ₂·[₂₂ K ₁+1]

{circle around (2)} In the case where ₁₁I₁₅ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₁₂ K ₇·₁₂ K ₆·₂₂ K ₅−1

Y coordinate=₁₂ K ₄·₁₂ K ₃·₁₂ K ₂·[₂₂ K ₁+1]

{circle around (3)} In the case where ₁₂I₃ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₁₂ K ₇·₁₂ K ₆·₂₂ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·₁₂ K ₂·[₂₂ K ₁+1]

{circle around (4)} In the case where ₁₁I₇ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₁₂ K ₇·₁₂ K ₆·₂₂ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·₁₂ K ₂·[₂₂ K ₁+1]

{circle around (5)} In the case where ₁₁I₁₂ is a start point (cameraimage pickup center)

X coordinate=₁₁ K ₈·₁₁ K ₇·₂₁ K ₆·₂₁ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·[₂₂ K ₂·₂₂ K ₁+1]

{circle around (6)} In the case where ₁₁I₁₆ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₁₂ K ₇·₂₂ K ₆·₂₂ K ₅−1

Y coordinate=₁₂ K ₄·₁₂ K ₃·[₂₂ K ₂·₂₂ K ₁+1]

{circle around (7)} In the case where ₁₂I₄ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₁₂ K ₇·₂₂ K ₆·₂₂ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·[₂₂ K ₂·₂₂ K ₁+1]

{circle around (8)} In the case where ₁₂I₈ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₁₂ K ₇·₂₂ K ₆·₂₂ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·[₂₂ K ₂·₂₂ K ₁+1]

{circle around (9)} In the case where ₂₁I₉ is a start point (cameraimage pickup center)

X coordinate=₁₁ K ₈·₂₁ K ₇·₂₁ K ₆·₂₁ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·[₂₂ K ₂·₂₂ K ₁+1]−1

{circle around (10)} In the case where ₂₁I₁₃ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₂₂ K ₇·₂₂ K ₆·₂₁ K ₅−1

Y coordinate=₁₂ K ₄·₁₂ K ₃·[₂₂ K ₂·₂₂ K ₁+1]−1

{circle around (11)} In the case where ₂₂I₁ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₂₂ K ₇·₂₂ K ₆·₂₂ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·[₂₂ K ₂·₂₂ K ₁+1]−1

{circle around (12)} In the case where ₂₂I₅ is a start point (cameraimage pickup center)

X coordinate=₁₂ K ₈·₂₂ K ₇·₂₂ K ₆·₂₂ K ₅

Y coordinate=₁₂ K ₄·₁₂ K ₃·[₂₂ K ₂·₂₂ K ₁+1]−1

{circle around (13)} In the case where ₂₁I₁₀ is a start point (cameraimage pickup center)

X coordinate=₂₁ K ₈·₂₁ K ₇·₂₁ K ₆·₂₁ K ₅

Y coordinate=₂₂ K ₄·₂₂ K ₃·₂₂ K ₂·₂₂ K ₁

{circle around (14)} In the case where ₂₁I₁₄ is a start point (cameraimage pickup center)

X coordinate=₂₂ K ₈·₂₂ K ₇·₂₂ K ₆·₂₂ K ₅

Y coordinate=₂₂ K ₄·₂₂ K ₃·₂₂ K ₂·₂₂ K ₁

{circle around (15)} In the case where ₂₂I₂ is a start point (cameraimage pickup center)

X coordinate=₂₂ K ₈·₂₂ K ₇·₂₂ K ₆·₂₂ K ₅

Y coordinate=₂₂ K ₄·₂₂ K ₃·₂₂ K ₂·₂₂ K ₁

{circle around (16)} In the case where ₂₂I₆ is a start point (cameraimage pickup center)

X coordinate=₂₂ K ₈·₂₂ K ₇·₂₂ K ₆·₂₂ K ₅

Y coordinate=₂₂ K ₄·₂₂ K ₃·₂₂ K ₂·₂₂ K ₁   <Formula 1>

When the dot pattern 1 is picked up as image data by means of thecamera, if an error has occurred with the information dot 3, the closestinformation dot 3 equivalent to the information dot 3 is read, and then,the error is corrected, whereby the dot pattern 1 can be read in theminimum area from the image pickup center of the camera.

Utilizing the method for picking up information described above, atablet or a digitizer that uses the XY coordinate and an input interfacecan be practiced. For example, with respect to the tablet or thedigitizer, a transparent sheet on which the dot pattern 1 has beenprinted is superimposed on a target; an image is picked up by means ofthe camera; and then, the XY coordinate values of the dot pattern 1 areinputted.

Next, with reference to FIGS. 11 to 14, a description will be given infurther detail with respect to a case in which key dots 2 have been laidout at the positions different from those shown in FIG. 1 and a methodof making searches for information dots 3 and key dots 2 in that case.

When an image pickup element such as a CCD or a CMOS serving as opticalimage pickup means first picks up reflection light of irradiation lightirradiated on a medium face, the image pickup data (image data) isexpanded on a memory frame buffer. Next, a central processing unit (CPU)of the optical image pickup means starts a search for the image dataexpanded on the frame buffer by means of a search program read out fromthe memory.

At this time, reference grid point dots 4 configuring an outer frame ofa block are linearly laid out at predetermined intervals, so that thecentral processing unit (CPU) determines whether or not a straight lineis substantially obtained by connecting these linearly laid out dots toeach other (refer to FIG. 11).

Then, it is determined whether or not the dots existing on the referencegrid line 78 are laid out by predetermined length. At this time, if adistance between dots is equal to another distance, such dots aredetermined to be reference grid point dots 4. In the case where dots arelaid out differently, these dots are determined to be key dots 2 (FIG.14).

Next, reference grid point dots 4 in the vertical and horizontaldirections (virtual reference grids 6) are connected to each other bymeans of straight lines (grid lines 8 a, 8 b), a cross pointtherebetween is defined as a virtual grid point 11 (first virtual gridpoint). Next, virtual reference grid points 6 in the oblique directionare connected to each other, an oblique grid line 8 c is defined, and across point between these oblique grid lines 8 c is further defined as avirtual grid point 12 (second virtual grid point).

Next, while either of the above two types of virtual grid points 11, 12is defined as a start point, a search is made for information dots in aspiral manner (refer to FIG. 13).

Then, with respect to four portions (four virtual grid points existingat positions at which intervals are equal to each other in the verticaland horizontal directions from a block center in FIG. 14) at which keydots 2 can be laid out in a block, it is determined which of the dots isa key dot 2, with reference to the orientation and length of arespective one of the information dots 3 from the virtual grid points.In this manner, the information possessed by information dots 3 isdetermined by identifying the orientation.

As shown in FIG. 14, in the case where an information dot 3 other than ablock center is defined as a key dot 2 (in the case of FIG. 14, wherethe position shifted in the upward direction by one virtual grid pointfrom a block center is defined as the layout position of the key dot 2),there is a possibility that an information dot 3 that exists at acorresponding position when the block center is turned as a rotationalaxis by 90 degrees cannot be discriminated from a key dot 2 if theinformation dot is read by optical reader means. However, the manner ofimparting the information dot 3 in the corresponding rectangular areaother than the key dot 2 is made different, whereby the key dot 2 andthe information dot 3 can be discriminated from each other.

For example, as shown in FIG. 14, it is sufficient if the key dot 2 islaid out as a vector in only the vertical and horizontal directions froma virtual reference grid point 6 and if information is defined in anoblique direction in another rectangular area existing at a positionturned by 90 degrees.

In addition, with respect to the key dot 2, while length of a vector isdefined as a predetermined length, information may be defined by meansof a vector different from another one in another rectangular areaexisting at a position turned by 90 degrees.

In the case where the key dot 2 has been laid out at the block center,with respect to another information dot 3, information may be defined inany of the vertical, horizontal, and oblique directions.

The dot pattern 1 of the present invention, as described above, isprinted on a printed matter such as a picture book or a text, and then,image data is picked by means of the camera. From the image data, asearch is made for positions of information dots. From information onthe positions, codes or XY coordinates are decoded. The voices, stillpictures, motion pictures, characters, programs or the likecorresponding to the codes or XY coordinates, are outputted fromconstituent elements such as a liquid crystal display device, s speaker,and a voice/image output terminal of equipment such as a personalcomputer, an information output device, a PDA (Personal Data Assistant),or a portable cellular phone.

With respect to an information dot 3 of the block, information may bedefined depending on a position that exists in the block of theinformation dot 3 while the distance and direction from the virtual gridpoints 11, 12 are arbitrarily limited by information dot 3.

More specifically, specification may be defined such that the distanceand direction from the virtual grid points 11, 12 has been changed bytype of industry using the dot pattern (by manufacturer, by serviceindustrial field or by company using this dot pattern).

In this way, the dot pattern of the present invention can be utilizeddiscriminately by limited usage, making it possible to ensure thesecurity against leakage such as information leakage or code systemleakage between types of industries or between companies. In otherwords, the limited defined information can be provided so as to readableonly by the optical reader means corresponding thereto.

The present invention is not limitative to the embodiments of theinvention described above. As long as a large amount of data is definedin a dot pattern by imparting different functions to dots 2, 3, 4 of adot pattern 1, predetermined information or programs are outputted, andthen, a variety of uses are enabled by recognizing directivity andspeedily providing information, the present invention is not limitativeto the embodiments described above. Of course, various modifications canoccur without departing from the spirit of the present invention.

For example, the dots (information dots 3 or key dots 2), which are laidout around a cross point (virtual grid point 11) of grid lines 8 a, 8 bin the vertical and horizontal directions, may be shifted from thevirtual grid point 11 onto the cross point. In addition, the dots at thecross point on an oblique grid line 8 c may be laid out on the obliquegrad line 8 c similarly. In this way, dotes are always laid out on thegrid lines 8 a, 8 b, 8 c, whereby an algorithm of a reading program formaking a search for the grid lines 8 a, 8 b, 8 c can be simplified andreading efficiency can be remarkably improved.

INDUSTRIAL APPLICABILITY

As has been described above, according to the information input/outputmethod using dot patterns, of the present invention, a dot pattern ispicked up as image data by means of a camera, a reference grid point isfirst recognized and a key dot is extracted, directivity is recognizedby means of the key dot, so that the direction can be used as aparameter. Next, by extracting the information dot laid out at theperiphery of this key dot, information and programs can be outputtedspeedily.

In addition, a reference grid point dot is laid out in a dot pattern, sothat, when this dot pattern is picked up as image data by means of thecamera, a distortion can be corrected to a dot pattern picked up as animage due to a lens distortion of the camera or a distortion exerted atthe time of oblique image pick, paper face expansion or contraction,medium surface curling, or printing.

Further, an error relative to a dot layout state can be checked, andsecurity can be further enhanced.

1. A printed material printed with a dot pattern adapted for informationinput/output in which a plurality of fine dots are arranged in arectangular area of a square or rectangular block on a medium surface onthe basis of a dot code generating algorithm in accordance with apredetermined rule, the fine dots being used for recognition of avariety of information, the dot pattern comprising: reference grid pointdots arranged on virtual reference grid points virtually provided atpredetermined intervals on virtual straight lines in a verticaldirection and a horizontal direction configuring a frame of the block;and one or a plurality of information dots, each of which is arrangedwith a distance and a direction with reference to each of a virtual gridpoint at a point of intersection of grid lines provided by virtuallyconnecting the virtual reference grid points to each other, the gridlines being straight lines parallel to the reference grid lines.
 2. Theprinted material printed with the dot pattern, according to claim 1,wherein, the reference grid point dots are arranged only on the virtualreference grid points.
 3. The printed material printed with the dotpattern, according to claim 1, wherein, the reference grid point dotsare arranged on each of the virtual reference grid points.
 4. Theprinted material printed with the dot pattern, according to claim 1,wherein, in the block, one or a plurality of information dots arefurther placed, each of which has a distance and a direction withreference to each of a virtual grid point at a point of intersection ofoblique grid lines connecting the virtual reference grid points in anoblique direction.
 5. The printed material printed with the dot pattern,according to claim 1, wherein, at a boundary between areas that definedifferent information on a medium surface, the dot pattern causesrecognition of the boundary of the areas by whether or not a dot isarranged on the virtual grid point, instead of arranging the informationdot.
 6. The printed material printed with the dot pattern, according toclaim 1, wherein the dot pattern has an area that defines no informationon a medium surface, and causes recognition of the area that defines noinformation by whether or not a dot is arranged on the virtual gridpoint, instead, of arranging the information dot.
 7. The printedmaterial printed with the dot pattern, according to claim 1, wherein thedot pattern defines information by whether a dot is arranged on thevirtual grid point as the information dot or not, in addition toarranging the information dot.
 8. The printed material printed with thedot pattern according to claim 1, further comprising a key dot thatdefines the orientation of the block and is placed at a position that isshifted from at least one virtual reference grid point on the referencegrid line configuring the block.
 9. The printed material printed withthe dot pattern, according to claim 1, wherein an information dot at apredetermined position among the information dots is defined as a keydot in the block, and information of the information dot placed in arespective rectangular area by rotating the rectangular area by 90degrees around the block center is defined by a direction or a distancethat excludes a direction required to define the key dot.
 10. Theprinted material printed with the dot pattern, according to claim 1,wherein information of the information dot in the block is defined byarbitrarily limiting the position of the information dot in the block bya distance and a direction thereof from the virtual grid point for eachinformation dot.
 11. A dot pattern adapted for information input/output,in which a plurality of fine dots are arranged in a rectangular area ofa square or rectangular block on a medium surface on the basis of a dotcode generating algorithm in accordance with a predetermined rule, thefine dots being used for recognition of a variety of information, thedot pattern comprising: reference grid point dots arranged on virtualreference grid points virtually provided at predetermined intervals onvirtual straight lines in a vertical direction and a horizontaldirection configuring a frame of the block; and one or a plurality ofinformation dots, each of which is arranged with a distance and adirection with reference to each of a virtual grid point at a point ofintersection of grid lines provided by virtually connecting the virtualreference grid points to each other, the grid lines being straight linesparallel to the reference grid lines.
 12. An optical reading devicecomprising: a reading unit that obtains the dot pattern according toclaim 1, as image data; and a processor that analyzes the image data anddecodes a numeric value defined by the dot pattern.
 13. A reading methodcomprising: obtaining the dot pattern according to claim 1, as imagedata; and by a processor, analyzing the image data and decoding anumeric value defined by the dot pattern.
 14. An electronic devicestoring a sequence of instructions for causing a processor to execute:from a reading unit, obtaining the dot pattern according to claim 1,onto the processor as image data; and analyzing the image data anddecoding a numeric value defined by the dot pattern.
 15. A dot patternreading device comprising: a reading unit that obtains the dot patternaccording to claim 1, as image data; and a processor that analyzes theimage data, decodes a numeric value defined by the dot pattern, andcontrols an information output device based on the decoded numericvalue.
 16. A reading method comprising: obtaining the dot patternaccording to claim 1, as image data; by a processor, analyzing the imagedata and decoding a numeric value defined by the dot pattern; andcontrolling an information output device based on the decoded numericvalue.
 17. An information processing device for using a dot patternreading method: a reading unit that obtains the dot pattern according toclaim 1, as image data; and a processor that analyzes the image data,decodes a numeric value defined by the dot pattern, and executes aprocessing corresponding to the decoded numeric value.
 18. An electronicdevice storing a dot pattern generation program for generating the dotpattern according to claim
 1. 19. A dot pattern generation devicecomprising: a processor programmed in accordance with a dot patterngeneration algorithm for generating the dot pattern according to claim1; and a transmission unit that transmits the dot pattern, to a dotpattern output Unit.
 20. A dot pattern generation method of a dotpattern comprising: generating the dot pattern according to claim 1 inaccordance with a dot pattern generation algorithm for generating thedot pattern; and transmitting the dot pattern to a dot pattern outputunit.
 21. An information input and output device comprising: a readingunit that obtains the dot pattern according to claim 1, as image data; aprocessor that analyzes the image data and decodes a numeric valuedefined by the dot pattern; and an output unit that outputs at least oneof a voice, an image, a moving image, a character, and an executedresult of a program that are related with the numeric value decoded bythe processor.
 22. An information input and output method using a dotpattern comprising: from a reading unit, obtaining the dot patternaccording to claim 1, as image data; by a processor, decoding the dotpattern; and outputting at least one of a voice, an image, a movingimage, a character, and an executed result of a program that are relatedwith a numeric value decoded by the processor.
 23. An electronic device,storing a sequence of instructions for causing a processor to execute:from a reading unit, obtaining the dot pattern according to claim 1,onto the processor as image data; by a processor, decoding the dotpattern; and outputting at least one of a voice, an image, a movingimage, a character, and an executed result of a program that are relatedwith a numeric value decoded by the processor.
 24. The informationprocessing device for reading the dot pattern according to claim 17,wherein the corresponding processing is outputting of at least one of avoice, an image, a moving image, a character, and an executed result ofa program.